package com.ruoyi.sale.service.impl;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.sale.mapper.MallHomeNewProductMapper;
import com.ruoyi.sale.domain.MallHomeNewProduct;
import com.ruoyi.sale.service.IMallHomeNewProductService;
import org.springframework.transaction.annotation.Transactional;

/**
 * 新鲜好物Service业务层处理
 * 
 * @author cws
 * @date 2024-11-22
 */
@Service
public class MallHomeNewProductServiceImpl implements IMallHomeNewProductService 
{
    @Autowired
    private MallHomeNewProductMapper mallHomeNewProductMapper;

    /**
     * 查询新鲜好物
     * 
     * @param id 新鲜好物主键
     * @return 新鲜好物
     */
    @Override
    public MallHomeNewProduct selectMallHomeNewProductById(Long id)
    {
        return mallHomeNewProductMapper.selectMallHomeNewProductById(id);
    }

    /**
     * 查询新鲜好物列表
     * 
     * @param mallHomeNewProduct 新鲜好物
     * @return 新鲜好物
     */
    @Override
    public List<MallHomeNewProduct> selectMallHomeNewProductList(MallHomeNewProduct mallHomeNewProduct)
    {
        return mallHomeNewProductMapper.selectMallHomeNewProductList(mallHomeNewProduct);
    }

    /**
     * 新增新鲜好物
     * 
     * @param mallHomeNewProduct 新鲜好物
     * @return 结果
     */
    @Override
    public int insertMallHomeNewProduct(MallHomeNewProduct mallHomeNewProduct)
    {
        return mallHomeNewProductMapper.insertMallHomeNewProduct(mallHomeNewProduct);
    }

    /**
     * 修改新鲜好物
     * 
     * @param mallHomeNewProduct 新鲜好物
     * @return 结果
     */
    @Override
    public int updateMallHomeNewProduct(MallHomeNewProduct mallHomeNewProduct)
    {
        return mallHomeNewProductMapper.updateMallHomeNewProduct(mallHomeNewProduct);
    }

    /**
     * 批量删除新鲜好物
     * 
     * @param ids 需要删除的新鲜好物主键
     * @return 结果
     */
    @Override
    public int deleteMallHomeNewProductByIds(Long[] ids)
    {
        return mallHomeNewProductMapper.deleteMallHomeNewProductByIds(ids);
    }

    /**
     * 删除新鲜好物信息
     * 
     * @param id 新鲜好物主键
     * @return 结果
     */
    @Override
    public int deleteMallHomeNewProductById(Long id)
    {
        return mallHomeNewProductMapper.deleteMallHomeNewProductById(id);
    }

    /**
     * 批量插入
     * @param mallHomeNewProducts
     * @return
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public int BatchInsertMallHomeNewProduct(List<MallHomeNewProduct> mallHomeNewProducts) {
        if (mallHomeNewProducts.size()>20){
            throw new RuntimeException("批量插入数据不能超过20条");
        }
//        mallHomeNewProducts.forEach(item->{
//            int i = mallHomeNewProductMapper.selectCoutntByProductId(item.getProductId());
//            if (i==0){
//                mallHomeNewProductMapper.insertMallHomeNewProduct(item);
//            }
//        });
        return mallHomeNewProductMapper.BatchInsertMallHomeNewProduct(mallHomeNewProducts);
    }
}
